由字母或數字串接而成
兩個 string 之間會用 + 串接 concatenation concat
兩個 string 之間不能做 - 、 * 、 / 運算,會出現 NaN (Not a Number)
如果把 String 與 Number 相乘會得出 NaN
(乘法只會發生在數值之間)
let first_name = "Phoebe";
console.log(first_name * 5);
String 與 Number 之間,若是做 + 運算,則會變成 String 與 String 之間的串接
let x = 10; //x data type is number
let y = "10"; //y data type is string
console.log(x + x); // ->20
console.log(y + y); // ->1010
補充:程式碼讀取方式 -> 從上到下讀取,從左到右讀取
let n1 = 20;
let n2 = 30;
let name = "Phoebe";
let n3 = 10;
let n4 = 15;
console.log(n1 + n2 + name); // ->50Phoebe
console.log(n1 + n2 + name + n3 + n4);
//先變成50Phoebe(string),加上n3後->50Phoebe10,再加上n4後->50Phoebe1015
\n
可以換行
console.log("Phoebe\nLee");
length
return String 的長度
let str = "Phoebe";
console.log(str.length); // -> 6
let str = "";
console.log(str.length); //empty string -> 0
[n]
return index 第 n 項的字,索引 index (編號) 從 0
開始計算
let str = "Phoebe";
console.log(str[0]); -> P
//str長度為6,str最後一個文字的index會是5
//對於任一個str,若str長度為x,則最後一個文字的index會是x - 1
//若要取e,以下兩種方法
console.log(str[5]);
console.log(str[str.length - 1]);
//沒有寫正確的值,會得到undefined,-1也是undefined
console.log(str[6]); // -> undefined
slice(indexStart [, indexEnd])
slice
提取字符串的一部分並將其作為新 String 返回,而不修改原始字符串
let str = "Phoebe"; // o index -> 2
console.log(str.slice(2)); // -> oebe
indexStart
是 inclusive
indexEnd
是 optional exclusive
let str = "Phoebe"; // o index -> 2
//indexEnd is exclusive
console.log(str.slice(0, 4)); // -> Phoe
indexOf(substring)
return substring(子字串) 的 index 位置。若找不到 substring,則 return -1
let str = "Phoebe";
console.log(str.indexOf("b")); // -> 4
console.log(str.indexOf("ebe")); // -> 3
console.log(str.indexOf("k")); // -> -1
toUpperCase()
return 轉換為大寫的 String。 此方法不會影響
String 本身
toLowerCase()
return 轉換為小寫的 String。 此方法不會影響
String 本身
要強制轉換的方法
let str = "Phoebe";
//reassignment
str = str.LowerCase();
console.log(str); // -> phoebe
split(pattern)
接受一個 pattern 並通過搜索將一個字符串分成一個有序的 array,然後 return
該 array
Pattern 可以是 regular expression
let sentence = "Today is a good day";
let result = sentence.split(" ");
console.log(result); // -> 'Today', 'is', 'a', 'good', 'day'
let result2 = sentence.split("o");
console.log(result2); // -> 'T', 'day is a g', '', 'd day'
startsWith(s)
確定 String 是否以指定字串 s 開頭,根據需要返回 true
或 false
endsWith(s)
與 startsWith()
相同,但確認結尾
includes(str)
return true
如果 String 內部包含 str
charCodeAt(n)
返回一個介於 0 和 65535 之間的整數,表示給定索引處 n 的 UTF-16 code unit
通常用在 project、處理文字、做比對、交叉運算、資料連接、二進字運算
let sentence = "Today is a good day";
console.log(sentence.charCodeAt(0));
// 0 -> T, T 這個字在UTF-16字元編碼裡面,他所相對應的數字編碼是多少 -> 84
下一篇會來學習布林、未定義、空值、邏輯運算子、比較運算子。